home *** CD-ROM | disk | FTP | other *** search
- /* Controller.h
- * Part of the Moon application for the NeXT computer.
- * Author: Geoffrey S. Knauth
- * Date: January 4, 1992
- *
- * Permission to copy this program is hereby granted under the terms
- * of the Free Software Foundation's GNU General Public License.
- */
-
- /* Initially generated by Interface Builder */
-
- #import <objc/Object.h>
- #import <appkit/Button.h>
- #import <appkit/Form.h>
- #import "MoonView.h"
-
- #define TICK_SECONDS 10.0 /* how often we should update statistics */
-
- /* indices into statForm (matrix of text fields) */
- #define iJulianDate 0
- #define iUniversalTime 1
- #define iLocalTime 2
- #define iMoonPhase 3
- #define iAgeOfMoon 4
- #define iMoonDistance 5
- #define iMoonSubtends 6
- #define iSunDistance 7
- #define iSunSubtends 8
- #define iLastNewMoon 9
- #define iThisLunation 10
- #define iFirstQuarter 11
- #define iFullMoon 12
- #define iLastQuarter 13
- #define iNextNewMoon 14
- #define iNextLunation 15
-
- /* toggle states for the pause button */
- #define RUNNING 0
- #define PAUSED 1
-
- @interface Controller : Object
- {
-
- /* Initialized by IB. */
- id moonView; /* this is where we draw the moon */
- id statForm; /* output statistics */
- id nowButton; /* so we can enable/disable the button */
- id pauseButton; /* so we can query its state */
- id travelText; /* so we can query its value */
- id stringTable; /* month names, and other words */
-
- /* Things we initialize. */
- id iconView;
- double nextNewMoon; /* Next new moon time */
- }
-
- - appDidHide :sender;
- - appDidInit :sender;
- - appWillTerminate :sender;
-
- - getUserGmtTime :(int *)year :(int *)month :(int *)day
- :(int *)hour :(int *)minute :(int *)second;
- - (int)monthNumFromStr :(const char *)month;
- - pause :sender;
- - returnToNow :sender;
- - timeTravel :sender;
- - update;
-
- @end
-